Pharmaceutical storage and retrieval system and methods of storing and retrieving pharmaceuticals

ABSTRACT

A pharmaceutical storage and retrieval system and a method of storing and retrieving pharmaceutical containers from the system. The system includes a pharmaceutical storage and retrieval and a controller operatively coupled to the device to control storage and retrieval functions of the device. The device includes a gantry assembly, a shelving assembly, a user access assembly, and a user authorization system that function in a coordinated manner to carry out the storage and retrieval functions of the device.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/888,496, filed May 7, 2013, which is a continuation of U.S. patentapplication Ser. No. 12/870,045, filed on Aug. 27, 2010, now U.S. Pat.No. 8,467,897, which is a continuation-in-part application of U.S.patent application Ser. No. 12/808,748, filed on Apr. 8, 2011, which isa 35 U.S.C. §371 application of international application numberPCT/US2008/087858, filed on Dec. 19, 2008, which claims priority to U.S.Provisional Patent Application Ser. No. 61/091,261, filed on Aug. 22,2008, and to U.S. Provisional Patent Application Ser. No. 61/015,119,filed on Dec. 19, 2007. The contents of the above-listed applicationsare incorporated herein by reference.

BACKGROUND OF THE INVENTION

Many modern pharmacies continue to store their bulk pharmaceuticalinventory on open shelves. These shelves are usually stocked andaccessible by multiple technicians, clerks, and pharmacists. Suchshelving arrangements are an inefficient use of space and make accuratemonitoring of inventory challenging. Additionally, tracking the usage ofparticular prescription medication and determining when that medicationneeds restocking takes deliberate attention despite the use of currentlyavailable automated inventory monitoring systems. Currently availableinventory monitoring systems are often inaccurate because such systemsrely on assumptions. Further, even when such systems are used,unauthorized persons may have access to and misappropriate or mishandlethe inventory.

As shown in FIG. 1, a typical pharmacy workflow generally includes threeprocesses: (1) a front end process; (2) a filling process; and (3) astorage, selling, verification of prescription accuracy, and consultingwith customer process. The front end process generally includes aclearinghouse aspect and drug utilization review where an intake workerreceives insurance information, verifies that the prescription is valid,and inputs the necessary information into the pharmacy managementsystem. The filling process includes filling a prescription by apharmacy technician or pharmacist who obtains a bottle of medicationfrom the shelf, pours the medication on a counting pad, counts theappropriate number of pills, pours the pills into a vial, labels thevial, prints the supporting consumer medication information, bags thevial and literature, and places the bag in a dispensing area. The thirdprocess includes a pharmacist verifying that the correct medication isin the customer vial when compared to the prescription, collecting moneyfrom the customer for the prescription, and consulting with the customerregarding usage and side effects of the medication. If a pharmacist hasnot already discussed the medication with the customer, a pharmacistmust offer to do so during this third process in accordance with theState Board of Pharmacy regulations.

SUMMARY OF THE INVENTION

The present invention relates to a storage and retrieval system andmethod, and more particularly to a pharmaceutical storage and retrievaldevice and associated methods. The pharmaceutical storage and retrievaldevice includes a multi-operator, multi-mode interface that utilizesminimal input from operators, and functions in a secure multi-modestate. The pharmaceutical storage and retrieval device identifiesauthorized operators through RFID credentials and/or other assignedidentification methods. The pharmaceutical storage and retrieval devicecontrols the type and quantity of medication dispensed by identifyingthe medication dispensed, through, for example, bar code scanning, anddetermining the amount of medication dispensed by, for example,calculating the weight of a container from which medication has beendispensed. Accordingly, embodiments of the invention allow pharmacies toreduce transaction costs by improving inventory control, and byimproving the speed and accuracy with which pharmacy technicians canfill prescriptions.

The features of the pharmaceutical storage and retrieval device includeRFID operator identification, flexible multi-user operability, and amulti-mode state. These features are described below.

RFID Operator Identification: Each operator of the pharmaceuticalstorage and retrieval device is assigned a unique RFID credential(and/or other identification). Typically, each operator is assigned hisor her unique RFID credential at the start of each shift. The RFIDcredential is activated and associated with a particular operator afterthe operator's identity is verified, by, for example, biometricauthentication including: fingerprint verification, iris recognition,voice recognition, facial recognition, or a combination thereof. TheRFID credential is scanned each time an operator interacts with thepharmaceutical storage and retrieval device to retrieve (“check-out”) orreturn (“check-in”) a container of medicine. The RFID credential is alsoscanned each time the operator interacts with the pharmaceutical storageand retrieval system to access or input data into the system. The RFIDcredential can be in the form of a bracelet (reusable or disposable)that is permanently or temporarily assigned to an operator.Alternatively, the RFID can be configured to expire after a certainperiod of time.

Flexible Multi-User Operability: Operators can be added or redeployed asneeded to increase or reduce device capacity to about 100 filledprescriptions per operator per hour. There is no particular limit to thenumber of operators that can simultaneously use the pharmaceuticalstorage and retrieval device. Practically speaking, a pharmacy may notneed more than three to five operators (e.g., 300-500prescriptions/hour) to handle peak volumes.

Multi-Mode State: The pharmaceutical storage and retrieval device isconfigured to “check in” and “check out” prescription stock containersbased on barcode scanning. When an operator scans a pre-printedprescription label and RFID credential at the device, either thecontainer output port will open and the operator can retrieve thedesired container, or the operator will be prompted to retrieve theprescription stock container from a remote stock location. While theprescription stock container is outside of the device, regardless ofwhether it came from inside the device or from remote stock, it is“checked out” or assigned to the operator who requested it based on thebarcode scan and RFID scan.

Once an operator finishes with a container, it remains “checked out”until it is rescanned and put into the open container input port orremote stock location. The container is then reweighed, assigned a newpill/package count, and returned to stock. Remote stock containers canalso be reweighed on an external scale before being manually returned toa remote stock location.

For some embodiments, rather than alter a retail pharmacy's existingworkflow (which is generally illustrated in FIG. 1), the pharmaceuticalstorage and retrieval device is configured to integrate into an existingpharmacy's workflow with minimal disruption. FIG. 2 generallyillustrates a retail pharmacy's workflow with the pharmaceutical storageand retrieval device according to one embodiment of the invention. Thepharmaceutical storage and retrieval device facilitates the managementof pharmaceutical inventories by automating the checking of prescriptionstock containers into and out of the system. The pharmaceutical storageand retrieval device further allows retail pharmacies to moreeffectively respond to fluctuations in prescription medication demand byeasily allowing additional operators to be added to the pharmacyworkflow at times of peak demand. Accordingly, retail pharmacies canreduce transaction costs by improving inventory control, and byimproving the speed and accuracy with which pharmacy technicians canfill prescriptions. Furthermore, the pharmaceutical storage andretrieval device is designed to seamlessly integrate into existingpharmacies and is “drop-in” capable, such that costly workflow analysesand pharmacy redesigns are not necessary.

In one embodiment, the system can hold about 5,400 prescriptioncontainers that are quickly accessible to the user. The system 10, asshown in FIG. 3, maintains security of the containers while beingflexible and customization to accommodate different pharmacies and theirunique workflows. The system 10 is accessible through a user interfaceto adjust certain operational parameters of the system based on how eachpharmacy wishes to use the system.

In one embodiment, the invention provides a pharmaceutical storage andretrieval system comprising: a housing including a gantry assembly, auser access assembly, and a user authorization system; and a controlleroperatively connected to the gantry assembly, the user access assembly,and the user authorization system, the controller including a computerhaving a computer readable medium configured to store instructions thatwhen executed cause the controller to, read a user credential via theuser authorization system, read a unique identifier on a prescriptionorder to determine a container needed to fill a prescription on theprescription order, associate the user credential with the uniqueidentifier, and transmit an instruction to the gantry assembly toretrieve the container and position the container in the user accessassembly.

In another embodiment, the invention provides a pharmaceutical storageand retrieval system comprising: a housing including a gantry assembly,a user access assembly, and a user authorization system; and acontroller operatively connected to the gantry assembly, the user accessassembly, and the user authorization system, the controller including acomputer having a computer operable medium configured to storeinstructions that when executed cause the controller to, read a usercredential at the user authorization system, read a unique identifier ona container, associate the user credential with the unique identifier,and transmit an instruction to the gantry assembly to retrieve thecontainer from the user access assembly and position the container inthe housing.

In another embodiment, the invention provides a pharmaceutical storageand retrieval system comprising: a housing including a shelving assemblysupported by the housing, the shelving assembly including a plurality ofshelves, each shelf extending along a length of the housing, theplurality of shelves positioned from a bottom wall of the housing to atop wall of the housing with a predetermined space between adjacentshelves, each shelf having a top surface and a bottom surface, andwherein one of the top surface and the bottom surface of a shelf ispartially covered with a foam, the foam configured to conform to acontainer as the container is inserted between two adjacent shelves tohold the container in its position.

Other aspects of the invention will become apparent by consideration ofthe detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a chart illustrating a traditional pharmacy workflow.

FIG. 2 is a chart illustrating a modified pharmacy workflow implementinga pharmaceutical storage and retrieval system according to oneembodiment of the present invention.

FIG. 3 is a perspective view of a pharmaceutical storage and retrievalsystem having three storage and retrieval devices according to oneembodiment of the present invention.

FIG. 4 is a left side perspective view of the middle storage andretrieval device of the pharmaceutical storage and retrieval systemillustrated in FIG. 3.

FIG. 5 is another left side perspective view of the middle storage andretrieval device of the pharmaceutical storage and retrieval systemillustrated in FIG. 3.

FIG. 6 is another left side perspective view of the middle storage andretrieval device of the pharmaceutical storage and retrieval systemillustrated in FIG. 3.

FIG. 7 is a side perspective view of a shelving assembly within thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 8A is a front cross-sectional view of a shelf in the shelvingassembly illustrated in FIG. 7.

FIG. 8B is a side cross-sectional view of a shelf in the shelvingassembly illustrated in FIG. 7.

FIG. 9 is a perspective view of a gantry assembly of the pharmaceuticalstorage and retrieval system illustrated in FIG. 3.

FIG. 10 is a perspective view of a track assembly of the pharmaceuticalstorage and retrieval device illustrated in FIG. 3.

FIG. 11 is a schematic view of a belt assembly of the pharmaceuticalstorage and retrieval system illustrated in FIG. 3.

FIG. 12 is a perspective view of a carriage assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 13 is a perspective view of a carriage assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3 with acontainer.

FIG. 14 is a top view of a carriage assembly of the pharmaceuticalstorage and retrieval device illustrated in FIG. 3 with a container.

FIG. 15 is a top view of a carriage assembly of the pharmaceuticalstorage and retrieval system illustrated in FIG. 3 with a container.

FIG. 16 is a top view of a carriage assembly of the pharmaceuticalstorage and retrieval system illustrated in FIG. 3.

FIG. 17 is a front perspective view of a user access assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 18 is a front view of the user access assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 19 is a front perspective view of the user access assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 20 is a front view of the user access assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 21 is a rear perspective view of the user access assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 22 is a front perspective view of the user access assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 23 is a front view of the user access assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 24 is a rear perspective view of the user access assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 25 is a rear view of the user access assembly of the pharmaceuticalstorage and retrieval system illustrated in FIG. 3.

FIG. 26 is an enlarged bottom perspective view of a portion of the useraccess assembly of the pharmaceutical storage and retrieval systemillustrated in FIG. 3.

FIG. 27 is a right side view of the user access assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 28 is a left side view of the user access assembly of thepharmaceutical storage and retrieval system illustrated in FIG. 3.

FIG. 29 is a schematic of a pharmacy incorporating the pharmaceuticalstorage and retrieval system illustrated in FIG. 3.

FIG. 30 is a block diagram illustrating a software program forcontrolling the pharmaceutical storage and retrieval device illustratedin FIG. 3.

FIG. 31 is a block diagram illustrating a software program forcontrolling the pharmaceutical storage and retrieval device illustratedin FIG. 3.

FIG. 32 is a perspective view of a RFID scanner of the pharmaceuticalstorage and retrieval system illustrated in FIG. 3.

FIG. 33 is a perspective view of a RFID scanner of the pharmaceuticalstorage and retrieval system illustrated in FIG. 3.

DETAILED DESCRIPTION

Before any embodiments of the invention are explained in detail, it isto be understood that the invention is not limited in its application tothe details of construction and the arrangement of components set forthin the following description or illustrated in the following drawings.The invention is capable of other embodiments and of being practiced orof being carried out in various ways. Also, it is to be understood thatthe phraseology and terminology used herein are for the purpose ofdescription and should not be regarded as limiting. The use of“including,” “comprising,” or “having” and variations thereof herein ismeant to encompass the items listed thereafter and equivalents thereofas well as additional items. Unless specified or limited otherwise, theterms “mounted,” “connected,” “supported,” and “coupled” and variationsthereof are used broadly and encompass both direct and indirectmountings, connections, supports, and couplings.

Although directional references, such as upper, lower, downward, upward,rearward, bottom, front, rear, etc., may be made herein in describingthe drawings, these references are made relative to the drawings (asnormally viewed) for convenience. These directions are not intended tobe taken literally or limit the present invention in any form. Inaddition, terms such as “first,” “second,” and “third” are used hereinfor purposes of description and are not intended to indicate or implyrelative importance or significance.

In addition, it should be understood that embodiments of the inventioninclude hardware, software, and electronic components or modules that,for purposes of discussion, may be illustrated and described as if themajority of the components were implemented solely in hardware. However,one of ordinary skill in the art, and based on a reading of thisdetailed description, would recognize that, in at least one embodiment,the electronic based aspects of the invention may be implemented insoftware. As such, it should be noted that a plurality of hardware andsoftware based devices, as well as a plurality of different structuralcomponents, may be utilized to implement the invention. Furthermore, andas described in subsequent paragraphs, the specific mechanicalconfigurations illustrated in the drawings are intended to exemplifyembodiments of the invention; other alternative mechanicalconfigurations are possible.

FIG. 3 illustrates a pharmaceutical storage and retrieval system 10according to one embodiment of the present invention. The pharmaceuticalstorage and retrieval system 10 is a comprehensive workflow automationand high density robotic storage system for use in retail pharmacies.The system 10 seamlessly dispenses prescription containers and returnsthem to inventory without requiring operators to use a complicatedsoftware interface.

As shown in FIG. 3, the pharmaceutical storage and retrieval system 10includes one or more pharmaceutical storage and retrieval devices 14 anda computer or controller 18 configured to control the operations andfunctionality of the pharmaceutical storage and retrieval device 14.Although the system 10 shown in FIG. 3 includes three pharmaceuticalstorage and retrieval devices 14, more or fewer devices 14 can beutilized in a particular pharmaceutical storage and retrieval system 10.

With reference to FIGS. 3 and 4, the pharmaceutical storage andretrieval device 14 includes a housing 22 having a front wall 26, a rearwall 30, a top wall 34, a bottom wall 38, a first side wall 42, and asecond side wall 46. As shown in FIGS. 4-6, the walls 26, 30, 34, 38,42, 46 define a volume of space having a length along a first axis (xdirection), a height along a second axis (y direction) substantiallyperpendicular to the first axis, and a width along a third axis (zdirection) substantially perpendicular to both the first axis and thesecond axis. (See FIG. 3 for the coordinate system.)

As shown in FIGS. 4-6, the walls 42 and 46 are sliding access panelsthat allow operator access to the interior of the housing 22. In furtherembodiments, fewer or more walls 26, 30, 34, 38, 42, 46 of the housingmay be moveable with respect to the remainder of the housing to allowaccess to the interior of the housing 22. In still further embodiments,the housing 22 may include other access panels or ports to allowcontrolled access to the interior of the housing 22. As further shown inFIGS. 4-6, the walls 42 and 46 include locks 48 to prevent movement ofthe walls relative to the remainder of housing 22, and unauthorizedaccess to housing 22. In further embodiments each wall 26, 30, 34, 38,42, 46 and any panel or port may include one or more locks 48, or othersecurity device, to prevent unauthorized access to the interior of thehousing. In still further embodiments, one or more of the locks 48 maybe electronically controlled by the controller 18.

With reference to FIGS. 5-9, 17-28, and 32-33, the housing 22 isconfigured to support a shelving assembly 50, a gantry assembly 54, auser access assembly 58, and a user authorization system 362.

Shelving Assembly

With reference to FIGS. 5-7, the shelving assembly 50 includes a firstset 62 of shelves 66 positioned adjacent to the first side wall 42 andarranged along the height of the housing 22 from the top wall 34 to thebottom wall 38. The shelving assembly 50 also includes a second set 70of shelves 66 positioned adjacent to the second side wall 46 andarranged along the height of the housing 22 from the top wall 34 to thebottom wall 38. The first set 62 of shelves 66 and the second set 70 ofshelves 66 are separate and apart from each other, such that a gapexists between the first set 62 and the second set 70. This gap providesspace for the gantry assembly 54 (shown in FIGS. 9 and 10) to operate.

With continued reference to FIGS. 5-7, each shelf 66 in the first set 62and the second set 70 extends along the length of the housing 22, fromthe front wall 26 to the rear wall 30. Each shelf 66 in the first set 62and the second set 70 also is positioned a predetermined distance alongthe second axis from an adjacent shelf 66. The shelves 66, in both thefirst set 62 and the second set 70, are adjustable to vary the distancebetween adjacent shelves 66 to accommodate differently-sized containers94 (shown in FIG. 13). For example, the predetermined distance betweenthe shelves 66 can vary from about three inches to about thirteeninches. Furthermore, the distances between shelves 66 in the first set62 can be the same as or different than the distances between shelves 66in the second set 70. Accordingly, the distances between the shelves 66can be customized so that a wide variety of containers 94 including, forexample, oversized containers and/or other unique packages, can bestored efficiently in the pharmaceutical storage and retrieval device14.

The housing 22 further includes a third and fourth set of shelves 66adjacent to the front wall 26. The third set of shelves 66 extendbetween the first side wall 42 and the second side wall 46 and arearranged along the height of the housing 22 between the bottom wall 38and the user access ports on wall 26. The fourth set of shelves 66extend between the first side wall 42 and the second side wall 46 andare arranged along the height of the housing 22 between the top wall 34and the user access ports on wall 26. The third and fourth sets ofshelves 66 allow for additional storage of pharmaceutical containerswithin the device 14 without restricting the movement of the gantryassembly 54. Further, the third and fourth sets of shelves 66 allow forthe storage of relatively long containers that may not fit on the firstset 62 and second set 70 of shelves 66, or that are longer than the gapbetween the first set 62 and second set 70 of shelves 66. The shelves66, in both the third and fourth sets, are adjustable to vary thedistance between adjacent shelves 66 to accommodate differently-sizedcontainers 94. Furthermore, the distances between shelves 66 in thethird set can be the same as or different than the distances betweenshelves 66 in the fourth set 70.

With reference to FIGS. 8A-8B, each shelf 66 of the shelving assembly 50includes a top surface 78 and a bottom surface 82. The shelves 66 mayfurther include a liner 86, made of foam, including, for example,commercially-available memory foam and covered with a fabric layer 90,attached to the bottom surface 82. In further embodiments, the foamliner 86 can be attached to the top surface 78 of a shelf 66. In stillfurther embodiments, the foam liner 86 can be attached to both the topsurface 78 and the bottom surface 82 of a shelf 66. The fabric layer 90provides a smooth surface for the insertion and removal of a containeron the shelf 66, and may be made of, for example, Lycra® or anothersuitable fabric in lieu of or in combination with Lycra®. When acontainer 94 is positioned on a shelf 66, the liner 86 conforms to thecontainer 94 as it is inserted such that the container 94 remains in itsposition. As illustrated in FIGS. 8A-8B, the foam liner 86 isapproximately two-inches thick and may be compressed more thantwo-thirds of its thickness to accommodate an inserted container 94.Accordingly, the liner 86 allows for a variety of container sizes to fiton a shelf 66 with a particular spacing. In further embodiments, thefoam liner 86 can be thicker or thinner, and can be more or lesscompressible. As illustrated in FIG. 8B, the foam liner 86 coversapproximately half of the width of a shelf 66. In further embodiments,the liner 86 can cover more or less of the width of the shelf 66. Inaddition, as each container 94 is positioned on a shelf 66, the system10 maintains a gap between each container 94 such that the liner 86remains undisturbed (or returns to its undisturbed state). After acontainer 94 is removed from a shelf 66, the liner 86 returns to itsoriginal position. Accordingly, the foam liners 86 allow the container94 to be inserted into a specific position on a shelf 66 and removedfrom the shelf 66 without disturbing a neighboring container 94.

As discussed above, the shelving assembly 50 can accommodate a pluralityof containers 94 regardless of size. In general, most containers 94 mayhave a body 98 with a circular or rectangular cross-section and a cap102 with a circular cross-section that attaches to the body 98 toenclose pills, powder, and reconstituted and liquid forms ofprescription medicines. (See FIGS. 13 and 14.) These containers 94 areinserted into position on the shelves 66 of the shelving system 50 ontheir sides. Other types of containers may have other shapes andinclude, for example, boxes, blister packs, syringes, bottles withdispensing cups or spoons, and vials that generally do not have a cap102 with a circular cross-section (or no cap at all). Such irregularlyshaped containers can be placed within a custom container (e.g., a metalor plastic box) having a cylindrical protrusion that resembles acircular cap 102 so that the pharmaceutical storage and retrieval device14 can process the irregularly shaped container in a similar manner asit processes a container 94. Accordingly, discussion herein regardingthe storage of containers 94 within the device 14 is equally applicableto the storage of pharmaceuticals that are placed in a custom container.The custom container can include one or more transparent or clear sidesso the contents inside the custom container are visible. In otherconstructions, the custom container can include one or more opaquesides. By placing irregularly shaped containers (e.g., those without acircular cap 102) in a custom container having a cylindrical protrusionthat resembles a circular cap 102 almost every type of pharmaceuticalproduct can be stored in the pharmaceutical storage and retrieval device14. With reference to particular types of pharmaceuticals, the securityand access control features of pharmaceutical storage and retrievaldevice 14 allow for the safe storage of narcotics and other controlledpharmaceuticals within the device 14. In certain embodiments of thepharmaceutical storage and retrieval device 14, the device 14 furtherincludes climate control mechanisms, including, for example,refrigeration to allow storage of temperature sensitive pharmaceuticals.Those pharmaceuticals or medical supplies that are excessively large(e.g., colonoscopy preparation jugs or boxes of sterile gloves) may bestored outside the pharmaceutical storage and retrieval device 14.

Generally, each pharmaceutical product delivered to a pharmacy includesa label 114 with a standardized bar code, which typically includes aNational Drug Code number (“NDC”). The NDC is a unique 10 or 11-digit,3-segment number that identifies the labeler, product, and trade packagesize of a drug product. The first segment, the labeler code, is assignedby the FDA. A labeler is any firm (including repackers or relabelers)that manufactures, or distributes (under its own name) the drug product.The second segment, the product code, identifies a specific strength,dosage form, and formulation for a particular firm. The third segment,the package code, identifies package sizes and types. Both the productand package codes are assigned by the firm. Typically, thepharmaceutical product can be identified by the NDC on the label 114. Ininstances where the pharmaceutical product does not include an NDC, theproduct may be identified by the standardized bar code. Accordingly,reference herein to the NDC and identification of a pharmaceuticalproduct by its NDC applies to any standardized bar code that identifiesthe pharmaceutical product.

The pharmaceutical storage and retrieval device 14 is configured toaccept pharmaceutical products that come in a standard container 94(i.e., a container with a body 98 with a circular or rectangularcross-section and a cap 102 with a circular cross-section) and have alabel 114 affixed to the body 98 of the container 94. As discussedabove, pharmaceutical products that come in irregularly shapedcontainers may be placed within a custom container so that thepharmaceutical storage and retrieval device 14 can process theirregularly shaped container in the same way that it processes acontainer 94. In such circumstances, the irregularly shaped containerhaving a label 114 may be placed within a custom container having atleast one transparent side such that the label 114 can be read throughthe transparent side. Alternatively in some embodiments, a supplementallabel with a unique identifier can be generated and attached to thecustom container (with or without a transparent side) to identify andassociate the irregularly shaped container(s), and the contents thereof,that are placed within the custom container. The supplemental label canbe associated to the label 114 and stored in the system 10 so that whenthe custom container containing the irregularly shaped container isneeded, the custom container can be located. In further embodiments, thecustom container includes a permanent or semi-permanent uniqueidentifier (e.g., barcode) that identifies characteristics of the customcontainer (e.g., dimension and weight of the custom container). In suchembodiments, the permanent or semi-permanent unique identifier on thecustom container can be associated with the label 114 of thepharmaceutical in the irregularly shaped container.

The pharmaceutical storage and retrieval device 14 is also configured toaccept customer vials that are not picked up from the pharmacy. In manyinstances, pharmacies prepare and fill a prescription in anticipation ofthe customer arriving at the pharmacy to retrieve the customer'sprepared vial of medication. In some instances, however, the customer isdelayed or never comes to retrieve the prepared vial of medication. Insuch instances, the pharmacy must continue to store and track thecustomer's vial. If the customer does not retrieve the prepared vial,the pharmacy may use the prepared vial to fill a prescription foranother customer. The pharmaceutical storage and retrieval device 14 canbe used to manage customer vials that are not picked up from thepharmacy in a similar fashion to the way the device 14 manages otherirregularly shaped containers. The customer vial can be placed in acustom container having a label or other unique identifier thatidentifies the custom container. The customer vial and thepharmaceutical contained therein can be associated with the label orunique identifier on the custom container. The label or other uniqueidentifier on the custom container also can be associated with a lotnumber and an expiration date on the original pharmaceutical containerfrom which the pharmaceutical was dispensed. Furthermore, the label orother unique identifier on the custom container can be associated with aspecific transaction number that can identify the customer, the date thevial was filled, and other data related to the transaction. In certaininstances, the customer vial can be of a size and construction such thata custom container is not required to hold the vial. In such instances,the customer vial can be handled by the system 10 as if it were astandard container 94.

A custom container can store different types of pharmaceuticals andpreviously-filled vials for different customers. Since each type ofpharmaceutical and each customer vial can be linked to a label or otherunique identifier associated with the custom container, the location ofthese particular pharmaceuticals and customer vials can always belocated.

Gantry Assembly

The gantry assembly 54, illustrated in FIGS. 9-10, is supported by aframe 122 and includes a track assembly 126, a drive assembly 146, and acarriage assembly 158. As shown in FIG. 10, the track assembly 126includes a generally vertical track 130 having a first end and a secondend, a first generally horizontal track 134 adapted to support one ofthe first end and the second end of the track 130, and a secondgenerally horizontal track 138 adapted to support one of the first endand the second end of the track 130. The track 130 is configured totravel along the first horizontal track 134 and the second horizontaltrack 138.

With reference to FIGS. 10 and 11, the drive assembly 146 includes aplurality of motors 142, a first belt circuit 150, a second belt circuit154, and a plurality of pulleys. The motors 142 are connected to thefirst and second belt circuits 150, 154 to coordinate horizontal andvertical movement of the gantry assembly 54. Specifically, thecoordinated operation of the motors 142 is used to move the verticaltrack 130 along the horizontal tracks 134, 138, and to move the carriageassembly 158 vertically along the vertical track 130. When both motors142 rotate clockwise, the carriage assembly 158 moves in an upwarddirection along the vertical track 130. When both motors 142, shown inFIG. 11, rotate counter-clockwise, the carriage assembly 158 moves in adownward direction along the vertical track 130. When the motors 142rotate in opposite directions, the vertical track 130 moves horizontallyalong the horizontal tracks 134, 138. The direction and speeds of themotors 142 can be controlled such that the vertical track 130 moveshorizontally and the carriage assembly 158 moves vertically along thevertical track 130 resulting in a diagonal movement of the carriageassembly 158 within the device 14.

With reference to FIGS. 12-16, the carriage assembly 158 includes afirst motor 162, a gripper assembly 166, and a second motor 174. Thecarriage assembly further includes a frame 182 that supports the gripperassembly 166 and gear assembly 186. The gear assembly 186 is coupled tothe motors 162, 174 and includes a plurality of gears operable to rotatethe gripper assembly 166 between a plurality of positions. The firstmotor 162 is operable to rotate the gripper assembly 166 through 180degrees of rotation about a first axis 170. The second motor 174 isoperable to rotate the gripper assembly 166 through 180 degrees ofrotation about a second axis 178. Accordingly, the motors 162, 174provide coordinated motion of the gripper assembly 166 to retrieve,position, and transport a container 94 between a shelf location and theuser access assembly 58. The coordinated motion reduces the amount ofspace within the pharmaceutical storage and retrieval device 14 due tothe reduced arc motion of the container 94 as the gripper assembly 166retrieves and positions a container 94 from its shelf location. Thecoordinated motion of gripper assembly 166 can be further coordinatedwith the movement of the carriage assembly 158. In particular, thecoordinated motion of the gripper assembly 166 can be coordinated withthe horizontal movement of carriage assembly 158 as the vertical track130 is moved horizontally by motors 142. The overall coordinatedmovement of the gripper assembly 166 and the carriage assembly 158results in linear, or near linear movement of a container 94 held by thegripper assembly, such that a container may be inserted perpendicularlywith respect to a shelf 66.

In further embodiments, the gripper assembly 166 may include linearactuators and linear drive mechanisms, instead of or in addition to themotors 162, 174 and the gear assembly 186 described above to move thegripper assembly. Such embodiments may include electrically andpneumatically driven motors and actuators.

With continued reference to FIGS. 12-16, the gripper assembly 166includes a support member 190 pivotably coupled to the frame 182. Thegripper assembly 166 also includes a motor 194 to move a plurality offingers 198, which are operable to move between a first position and asecond position to grip a container 94. The fingers 198 are configuredto grasp caps 102 of different diameters, including, for example, caps102 having diameters from 1-inch to 3-inches. In certain embodiments,the fingers 198 can include inserts, including for example, razorblades, blade edges, or spring steel strips. The inserts provide a sharpand hard surface so that the fingers 198 can engage a cap 102 (typicallymade of a hard plastic) and support the weight of a container 94 as thegantry assembly 54 retrieves a container. The inserts can be replaced asneeded so that during service the fingers 198 maintain their graspingability. FIG. 12 illustrates the carriage assembly 158 without thegripper assembly 166 holding a container. FIGS. 13-16 illustrate thecarriage assembly 158 with the gripper assembly 166 holding a container94. As illustrated in FIG. 13, the fingers 198 of the gripper assembly166 grip the cap 102; however, it is noted that the fingers 198 can gripthe container 94 at locations other than the cap 102. FIGS. 14-16illustrate motion of the gripper assembly 166 through a series of stepsin moving a container 94. FIG. 14 illustrates the gripper assembly 166in a first position gripping a container 94 just retrieved from (orabout to be positioned in) a particular location within thepharmaceutical storage and retrieval device 14. FIG. 15 illustrates thegripper assembly 166 in a second position (generally rotated about 90degrees from the first position). While the gripper assembly 166 is inthe second position, the carriage assembly 158 is operable to move alongthe vertical track 130, and the vertical track 130 is operable to movealong the horizontal tracks 134, 138. The gripper assembly 166 may be inpositions other than those illustrated in the figures when the carriageassembly 158 moves. FIG. 16 illustrates the gripper assembly 166 in athird position translated along a plane defined by the second positionand a predetermined distance from the second position. In the thirdposition, the gripper assembly 166 is positioned to insert a container94 into or onto a shelf 66, or conversely to retrieve a container 94from a shelf 66.

User Access Assembly

The user access assembly 58, illustrated in FIGS. 17-28 includes a frame202 supporting a first port 206 having a first opening 210 (See FIG. 19)and a second port 214 having a second opening 218 (See FIG. 22).Additional or fewer ports are also possible in alternativeconstructions. The user access assembly 58 further includes a doorassembly 222 having a front door 226 and a rear door 230.

As shown in FIGS. 17-20, 22, and 23, the front door 226 is moveablebetween a first upper position and a second lower position (and allpositions in between) to provide selective access to the first port 206and the second port 214. The front door 226 moves in a verticaldirection (i.e., along the second axis). FIGS. 17-18 illustrate thefront door 226 in a home position where the front door 226 covers andprevents user access to the first port 206 and the second port 214.FIGS. 19-20 illustrate the front door 226 in the lower position with aview to the interior of the first port 206 while user access to thesecond port 214 is closed. FIGS. 22-23 illustrate the front door 226 inthe upper position with a view to the interior of the second port 214while user access to the first port 206 is closed.

As shown in FIGS. 21, 24, and 25 the rear door 230 is moveable between afirst upper position and a second lower position (and all positions inbetween) to provide the gripper assembly 166 selective access to thefirst port 206 and the second port 214. The rear door 230 moves in avertical direction (i.e., along the second axis), and is smaller thanthe front door 226 in terms of its height. Generally, the rear door 230is about half the height of the front door 226. FIG. 21 illustrates therear door 230 in the lower position with a view to the interior of thefirst port 206 while gripper assembly 166 access to the second port 214is closed. FIGS. 24-25 illustrate the rear door 230 in the upperposition with a view to the interior of the second port 214 whilegripper assembly 166 access to the first port 206 is closed.

The front door 226 and the rear door 230 operate in a coordinatedmanner. User access to the ports 206, 214 depends on instructions inputto the device 14 and whether the gantry assembly 54 is in a retrievalmode or a put-away mode (both modes discussed in more detail below). Forexample, when a user is granted access to retrieve a container 94 fromthe first port 206, the front door 226 will move to its lower positionto open access to the first port 206 while the rear door 230 remains inits upper position. This configuration prevents a user from reachinginside the device 14 through the first port 206 for a container 94 thatis near the doors 226, 230. Further, this configuration prevents userinjury by avoiding inadvertent contact between the user and the gantryassembly 54, the gripper assembly 166, and other moving parts withinport 206. As another example, when the user is accessing the second port214 to put-away a container via the second port 214, the front door 226will move to its upper position to open access to the second port 214while the rear door 230 moves to its lower position. Again, thisconfiguration prevents a user from reaching inside the device 14 throughthe second port 214 for a container 94 that is near the doors 226, 230.As noted above, this configuration further prevents user injury byavoiding inadvertent contact between the user and the gantry assembly54, the gripper assembly 166, and other moving parts within port 214.

The first port 206 and the second port 214 include a detection device,for example, a light beam break sensor, that detects the presence of anobject (e.g., a container or a user's hand) in the port and prevents thefront door 226 from moving. The first port 206 and the second port 214also include a safety bar 232. In the event that the front door 226 ismoving and the user's hand remains in the port opening, the safety bar232 moves downward as the door 226 impinges on the hand and stopsmovement of the door 226.

With reference to FIGS. 19 and 21, the first port 206 is configured toreceive a container 94 from the gripper assembly 166 and to allow a userto pick-up the container 94 (as it is likely needed to fill aprescription). The first port 206 includes a base 234 having a firstslot 238 and a second slot 242. A first end of the slots 238, 242 is ata predetermined distance from the center line of the base 234. The slots238, 242 are oriented on a diagonal and extend outward toward the sidewalls 42, 46 of the device 14 (when viewed from inside the device 14) toa second end of the slots 238, 242.

With reference to FIG. 21, the first slot 238 is configured to receive apin attached to a first member 246, and the second slot 242 isconfigured to receive a pin attached to a second member 250. As the pinsmove in their respective slots 238, 242, the first member 246 and thesecond member 250 also move in a coordinated manner. At rest (i.e., whenthe pins are located at their respective first ends), the second member250 is spaced a predetermined distance from the first member 246 asdefined by the location of the pins in their respective slots 238, 242.The pins are biased to a first position (i.e., at their respective firstends of the slots) in their respective slots 238, 242. The pins canslide within their respective slots 238, 242 as pressure is applied tothe first member 246 and the second member 250 from the rear side. Asthe pins slide under the application of pressure (such as when thegripper assembly 166 moves a container 94 into contact from the rearside (i.e., from inside the device 14) with the first member 246 and thesecond member 250), the predetermined distance between the first member246 and the second member 250 widens or gets larger. As the gripperassembly 166 continues pushing the container 94 into the first port 206,the container 94 slides between the first member 246 and the secondmember 250, and the pins follow their respective slots to move the firstmember 246 and the second member 250 from their initial position togradually increase the predetermined distance until the container fitsbetween the first member 246 and the second member 250. When the gripperassembly 166 releases its grip on the container 94, the container 94 isheld between the first member 246 and the second member 250.Accordingly, in the event that the container 94 is not removed from thefirst port 206 by an operator, the gantry 54 and the gripper assembly166 may retrieve the container 94 from the location where the container94 is held between the first member 246 and the second member 250. Thegantry 54 and the gripper assembly 166 may be instructed by thecontroller 18 to retrieve a container 94 from the first port 206 for avariety of reasons, including, for example, if the operator has notremoved the container within a specified time period, or if the operatorhas requested a different container 94 for retrieval.

With continued reference to FIG. 21, as the container 94 is removed fromthe first port 206, the pins follow their respective slots 238, 242 toreturn to their biased first position and to gradually move the firstmember 246 and the second member 250 to their original position. Theheight of the first port 206 (which is substantially similar to theheight of the second port 214) and the maximum distance between thefirst member 246 and the second member 250 define the size of acontainer 94 that can be stored within the device 14. As long as themaximum diameter or width of a container 94 fits between the firstmember 246 and the second member 250 when the pins are at theirrespective second ends, then the container 94 can be stored within thedevice 14. As noted above, containers 94 that do not fit within theseparameters can be stored in another safe location in the pharmacy.

In some embodiments, the position of the first member 246 and the secondmember 250 (or their respective pins) is communicated to the computer18. The software operating on the computer 18 can perform a mathematicalcomputation to determine the dimension of the container 94 portion thatis positioned between the first member 246 and the second member 250.Accordingly, the computer 18 can determine a size of the container 94based on the location of the pins in their respective slots. Thecomputer 18 may further store the derived measurement in a database.

The first port 206 can include a scanner (or other image or dataacquisition device) operatively coupled to the computer 18 and operableto acquire data, including, for example an image of a container 94positioned on the base 234. The computer 18, by software operating onthe computer 18, can use the data to derive measurements of thecontainer 94 and determine one or more dimensions of the container 94.The computer 18 can store the measurement(s) and/or dimensions of thecontainer 94 in a database. The scanner is further operable to read alabel, such as a label 114, on the container 94, which allows thecomputer 18 to verify that the correct container 94 was retrieved by thegantry assembly 54 and inserted into the first port 206. The first port206 can include a scale (built into or positioned on the base 234)operatively connected to the computer 18 and operable to measure aweight of the container 94 (and its contents) while resting on the base234. Accordingly, the computer 18 can obtain the weight measurement andalert the user whether the container 94 includes enough of thepharmaceutical to fill the prescription at hand. The computer 18 mayfurther store the weight measurement in a database.

With reference to FIGS. 22-26, the second port 214 is configured toreceive a container 94 from the user that is then retrieved by thegantry assembly 54 and the gripper assembly 166 and put away on one ofthe shelves 66 at an appropriate location determined by the computer 18.With specific reference to FIG. 22, the second port 214 includes a firstbase 254, a second base 258, and a third base 262.

As shown in FIGS. 22 and 23, the first base 254 is configured to supporta first guide member 266 having a first portion 270 (which is angled ororiented on a diagonal with respect to a center line of the port 214that runs parallel to the x-axis) and a second portion 274 orientedsubstantially parallel with respect to the center line of the port 214.The first base 254 is configured to move toward and away from the secondbase 258 in a coordinated motion with the third base 262, such that thefirst base 254 and third base 262 are synchronized to move toward andaway from the second base 258 the same distance.

As shown in FIG. 22, the second base 258 is positioned between the firstbase 254 and the third base 262. The second base 258 is or includes abuilt-in scale 278 operatively connected to the computer 18 and operableto measure a weight of a container 94 (and the contents therein)positioned in the second port 214. Software operating on the computer 18can use the measured weight to verify whether the correct number ofpills or amount of pharmaceutical was removed from the container used tofill the particular prescription at hand. This information can be storedin a database.

As shown in FIGS. 22 and 23, the third base 262, positioned opposite thefirst base 254, is configured to support a second guide member 282having a first portion 286 (which is angled or oriented on a diagonalwith respect to a center line of the port 214 that runs parallel to thex-axis) and a second portion 290 oriented substantially parallel withrespect to the center line of the port 214. The third base 262 isconfigured to move toward and away from the second base 258 in acoordinated motion with the first base 254, such that the first base 254and third base 262 are synchronized to move toward and away from thesecond base 258 the same distance.

With reference to FIGS. 22 and 23, the first portions 270, 286 of theguide members 266, 282 are oriented on a diagonal and extend toward thecenter line (that extends along the x-axis) when viewed from outside thedevice 14. A first end of the first portions 270, 286 of the guidemembers 266, 282 is positioned a predetermined distance from the centerline. From the first ends of the first portions 270, 286 of the guidemembers 266, 282, the first portions 270, 286 gradually extend towardthe center line until they intersect with the second portions 274, 290of the guide members 266, 282.

The first guide member 266 and the second guide member 282 move in acoordinated manner. The first and second guide members 266, 282 arebiased to a first position such that the second portions 274, 290 arespaced a predetermined distance apart. The guide members 266, 282 canslide open or away from the center line as pressure is applied to thefirst guide member 266 and the second guide member 282 from the frontside of the device 14. As the guide members 266, 282 slide open underthe application of pressure (such as when the user inserts a container94 into the second port 214 from the front side of the device 14), thepredetermined distance between the first guide member 266 and the secondguide member 282 widens or gets larger. As the user continues pushingthe container into the second port 214, the container slides between thefirst portions 270, 286 of the first guide member 266 and the secondguide member 282 until the container fits between the second portions274, 290 of the first member 266 and the second member 282. When theuser releases the container 94, the container 94 remains snug betweenthe first guide member 266 and the second guide member 282. The firstmember 266 and the second member 282 hold the container 94 in a positionwithin the second port 214 that allows a scanner 298 (discussed below)to obtain data regarding the container 94 so that the controller 18 canidentify the container 94. In the event that the container is notproperly placed within the second port 214 (e.g., the barcode on thecontainer 94 is not positioned such that it can be read by the scanner298), the device 14 will alert the operator to reposition the container94. After the container 94 has been identified the gantry assembly 54,and specifically the gripper assembly 166, removes the container fromthe second port 214. As the container 94 is removed from the secondport, the guide members 266, 282 return to their biased first position.

Similar to the discussion above regarding the first port 206 and thefirst and second members 248, 250, the height of the second port 214 andthe maximum distance between the guide members 266, 282 define themaximum size of a container 94 that can be stored within the device 14.As long as the maximum diameter or a width of a container 94 fitsbetween the first guide member 266 and the second guide member 282 whenthe guide members 266, 282 are at their widest or greatest opening, thenthe container 94 can be stored within the device 14. As noted above,containers 94 that do not fit within these parameters can be stored inanother safe location in the pharmacy.

When a user inserts a container 94 into the second port 214, the reardoor 230 is in its lower or closed position. The rear door 230 limitshow far a container may be inserted into the port 214. When the cap 102on the container 94 makes contact with the rear door 230 and after theoperator removes his or her hand, the rear door 230 moves away from thesecond port 214 by sliding up or following a ramped portion 294 toprovide a gap between the cap 102 and the rear door 230. As a result ofproviding this gap, the rear door 230 does not interfere with anymeasurements made of the container 94 while the container 94 is in thesecond port 214, including, for example weight measurements taken of thecontainer 94. While the container 94 rests in the second port 214, thescale 278 can measure the weight of the container 94. As discussedabove, the scale 278 may further communicate the measured weight of thecontainer 94 to the computer 18, which may be further stored in adatabase.

The second port 214 also can include a scanner 298, such as a barcodescanner (or other image or data acquisition device) operatively coupledto the computer 18 and operable to acquire data including, for examplethe data contained on a label 114 to obtain the NDC to verify thecontents of the container 94 being returned to the device 14. The secondport 214 may include one or more additional scanners 298 for gatheringdata, including, for example, laser line scanners, ultrasonic sensors,and whisker or wire scanners. In addition, the second port 214 caninclude a camera to acquire an image of the container 94 forverification purposes. The computer 18 can store the data from thescanner and the images (if taken) in a database. The software canfurther associate the data collected from the label 114 with other datacollected by the computer 18, including for example the measured weightof the container 94 as returned to the device 14. This information canbe further stored in a database.

The user access assembly 58 includes a fan assembly having a replaceablefilter element connected to the frame 122. The fan assembly operates tolightly pressurize the device 14 so air blows out of the device 14 whenthe doors 226, 230 open. The fan assembly also operates to keep dust outof the device 14. Accordingly, the fan assembly helps maintain thecleanliness of the shelves 66, such that the pharmacist and staff do nothave to periodically wipe down the shelves, as is normally required byprotocol. The fan assembly further operates to maintain the sametemperature and humidity levels within the device as exist within thepharmacy.

FIG. 29 schematically illustrates the pharmaceutical storage andretrieval system 10 and its functionality within a pharmacy 302. Asnoted above, the pharmaceutical storage and retrieval system 10 includesone or more pharmaceutical storage and retrieval devices 14 and acomputer or controller 18 configured to control operations andfunctionality of the pharmaceutical storage and retrieval devices 14.The two-way arrows in FIG. 29 generally represent two-way communicationand information transfer between the pharmaceutical storage andretrieval system 10, its subcomponents, including for example,controller 18, and other devices external to the pharmaceutical storageand retrieval system 10. However, for some medical and computerizedequipment, only one-way communication and information transfer may benecessary.

As shown in FIG. 29, the controller 18 includes a server 306 incommunication with the pharmaceutical storage and retrieval device 14, anetwork 310, and a plurality of peripherals, such as a monitor 314(e.g., with touch screen capability), a printer 318, and an RFID scanner322. In other embodiments, the server 306 can be external to thecontroller 18. As shown in FIG. 29 other peripherals can include abiometric device 326 and a scale 330 amongst other suitable peripherals.The controller 18 and/or server 306 can further be in communication withany suitable input/output device adapted to be accessed bypharmaceutical personnel, including, for example, a remote sequencescanner 400, a bar code scanner 366, and automated counting devices,such as vibratory and visual counting devices. The controller orcomputer 18 can include typical hardware such as a processor, I/Ointerfaces, and storage devices or memory. The controller 18 can alsoconnect to and communicate with input devices such as a keyboard and amouse.

The server 306 includes an operating system for running or executingvarious software programs (e.g., instructions stored on a computerreadable medium) and/or a communications application. In particular, theserver 306 can include a software program 334 (or multiple programs)that communicates with the pharmaceutical storage and retrieval device14 (and various components of the device 14) and with other devicesand/or components via the network 310. Alternatively, softwareprogram(s) 334 can also reside on a disc or other programmable devicethat is capable of being read by the server 306 or computer 18.Furthermore, the server 306 can be networked with other servers 306 andpharmaceutical storage and retrieval systems 10. The other servers 306may include additional and/or different computer programs and softwareand are not required to be identical to the server 306, describedherein.

The pharmaceutical storage and retrieval system 10 can communicate witha pharmacy management system 338 over the network 310. The pharmacymanagement system 338 can further communicate with a pharmacy printer342 over the network 310 as well as with other devices and systems.Alternatively, the pharmacy printer 342 may be directly connected to thepharmacy management system 338. The pharmaceutical storage and retrievalsystem 10, through for example, the controller 18 and/or server 306, canalso communicate via the connection to network 310 with a computer orserver operated by the system 10 manufacturer or supplier. Via theconnection to the computer or server operated by the system 10manufacturer or supplier, the system 10 can communicate informationregarding operation of the system 10, including, for example, faultcodes and error messages, as well as usage and diagnostic data, such asrun times, maintenance and service requirements, inventory information,updated pharmaceutical measurement data, etc. The system 10 can alsoreceive operation software from the system 10 manufacturer or suppliervia the network 310 connection, including, for example, user interfacesoftware, system 10 control software, algorithms, etc. The system 10 canfurther receive information from the system 10 manufacturer or suppliervia the network 310 connection, including for example, updates todatabase information, such as updates to the National Drug Code database350 and updates to other databases, including, for example, insurancedatabases, drug utilization databases, and databases of pharmaceuticalcontainer and pill weights. The pharmaceutical storage and retrievalsystem 10, through for example, the controller 18 and/or server 306, canfurther communicate with a database(s) 346 and/or other databases suchas a National Drug Code database 350, via the connection to network 310.The software program(s) 334 embodying the National Drug Code database350 can also reside locally on a disc or other programmable device thatis capable of being read by the server 306 or computer 18. Such softwareprogram(s) 334 embodying the National Drug Code database 350 that residelocally can be regularly updated via the above described connection andcommunication with the system 10 manufacturer or supplier via thenetwork 310 connection.

The network 310 can be built according to any suitable networkingtechnology or topology or combinations of technologies and topologiesand can include multiple sub-networks. Connections between the devicesand systems shown in FIG. 29 can be made through local area networks(“LANs”), wide area networks (“WANs”), public switched telephonenetworks (“PSTNs”), wireless networks, Intranets, the Internet, or anyother suitable networks. In a hospital or medical care facility, forexample, communication between the devices and systems shown in FIG. 29can be made through any required communication protocol(s), including,for example, the Health Level Seven (“HL7”) protocol or any otherversion of a required protocol. The HL7 protocol is a standard protocolwhich specifies the criteria for data exchange (including the requiredinterface implementation) between two computer applications (sender andreceiver), such that a universal standard is used by vendors, therebyfacilitating the exchange of electronic data in health careenvironments. The HL7 protocol allows health care institutions toexchange key sets of data from different application systems.Specifically, the HL7 protocol can define the data to be exchanged, thetiming of the interchange, and the communication of errors to theapplication. The formats are generally generic in nature and can beconfigured to meet the needs of the applications involved.

In the event of power interruption at the pharmacy, the pharmaceuticalstorage and retrieval system 10 may continue to operate using anuninterruptible power supply (“UPS”) 358. Software operating on thecontroller 18 can determine how many prescriptions can be filled basedon the remaining power available from the UPS 358. In particular, whileoperating under power from the UPS, the operator may access and print amap that identifies the location of each container 94 within aparticular device 14. The controller 18 maintains and continuallyupdates the map identifying the location of each container within eachdevice 14, such that the map can be accessed and printed at any time. Inthe event that there is a complete loss of power to the pharmaceuticalstorage and retrieval system 10, the pharmaceutical storage andretrieval system 10 includes a manual override function. The manualoverride function may deactivate a lock 48 to allow access to thehousing 22 (see FIGS. 4-6) such that authorized personnel can access thecontainers 94 within the housing the map to continue fillingprescriptions.

User Authorization System

As shown in FIGS. 32 and 33, the pharmaceutical storage and retrievalsystem 10 also includes a user authorization system 362. As shown inFIGS. 32 and 33, the user authorization system 362 includes an RFIDscanner 322, a biometric scanner 326, and a barcode scanner 366. Asshown in FIGS. 32 and 33, the RFID scanner 322 is integral with the userauthorization system 362. In alternate embodiments, the RFID scanner canbe separately located proximate the device 14, including, for example inthe first port 206 or the second port 214, or in both ports. Thebiometric scanner 326 is used to identify an authorized user of thesystem 10 and can be, for example, a fingerprint scanner, an irisreader, a voice recognition scanner, a facial recognition scanner, orcombinations thereof. The barcode scanner 366 can be used in addition tothe barcode scanner 298 in the second port 214 to read barcodes such asthe NDC on the containers 94 or the labels 114, or other uniqueidentifiers on custom containers.

Each operator of the pharmaceutical storage and retrieval device isassigned a unique RFID credential (and/or other identification).Typically, each operator is assigned his or her unique RFID credentialat the start of each shift. The RFID credential is activated andassociated with a particular operator after the operator's identity isverified by the controller 18 after reading data obtained by thebiometric scanner 322. The RFID credential can be set to expire at apredetermined time, for example, after a set number of hours or at theend of a shift, at which time the credential may be reassigned to a newoperator or may be reactivated by the same operator after the operator'sidentity is re-verified. Accordingly, the RFID credential may beactivated and deactivated multiple times and can, for example, be abracelet that is permanently assigned to an operator. Alternatively, theRFID credential may be temporarily assigned to an operator to be used byanother operator at a different time. Still further, the RFID credentialcan be disposable. While active, the RFID credential is scanned eachtime an operator interacts with the pharmaceutical storage and retrievaldevice to retrieve (“check-out”) or return (“check-in”) a container ofmedicine. In this manner, the user is associated with the container 94that is being retrieved from or returned to the device 14. Thisinformation is stored in the database for audit and review purposes(e.g., to verify inventory, locate inventory, and investigate possibletheft). The RFID credential is also scanned each time the operatorinteracts with the pharmaceutical storage and retrieval system 10 toaccess data or to input data into the system. Accordingly, allinteraction with the system 10 can be associated with a particularoperator, and such interaction can be monitored, tracked, restricted,and audited.

In addition to identifying an operator for the purposes of assigning aunique RFID credential to the operator, the biometric sensing device 326can be configured to allow access to the system 10 for certainfunctions, including those functions or interactions permitted with anactive RFID credential. In further embodiments, the user authorizationsystem 362 can include other access limiting mechanisms in addition toor in place of the RFID scanner 322, such as, for example,identification card swiping, access code input, or the like. Access tothe system 10 and to individual devices 14 can additionally be monitoredby a video camera mounted on, within, or separate from the housing 22 ofthe device 14.

As noted above, the barcode scanner 366 can be used in addition to thebarcode scanner 298 in the second port 214 to read barcodes such as theNDC on the containers 94 or the labels 114, or other unique identifierson custom containers. The barcode scanner 366 can also be used to scanunique barcode labels generated by the system 10 to identify individualcontainers 94 of particular pharmaceuticals. In such embodiments, thesystem 10 generates a barcode that is uniquely assigned to eachcontainer 94 that is stored in the device 14. As each container 94 isfirst introduced into the device 14, a label bearing the system 10generated barcode is affixed to the container 94. Thereafter, each timethe container 94 is “checked out” or “checked in” to the system 10, thesystem 10 cannot only identify the type of medication being “checkedout” or “checked in,” but can further track the specific container 94.Accordingly, such embodiments of system 10 allow multiple containers 94of the same pharmaceutical or medication to be “checked out” of thesystem 10 at the same time. Because the system 10 can identify eachspecific container 94, the system 10 can associate each container with,for example, a specific operator or a specific prescription order toverify that the order was properly completed. The system 10 generatedbarcodes can also be scanned by barcode scanners in the first and secondports 206, 214, such as barcode scanner 298.

In still further embodiments, and as discussed further herein, thebarcode scanner 366 can be used to read label sheets that are generatedby a pharmacy management system 338 following entry of a prescriptionfill order.

As shown in FIG. 30, the software program 334 includes a plurality ofmodules including a stock module 370, a fill prescription module 390, aninventory check module 394, and a return to stock module 398. Thesoftware program 334 and the modules 370, 390, 394, and 398 allowauthorized users to interact with the pharmaceutical storage andretrieval device 14, perform prescription filling functions, and conductother pharmacy business functions related to use of the pharmaceuticalstorage and retrieval device 14. The software program 334 is accessibleby pharmacy personnel via a user interface, including, for example, auser interface displayed on the monitor 314. (See FIG. 29.) The softwareprogram 334 can include additional modules, including, for example, amodule that facilitates report generation of data collected by thecontroller 18, including inventory reports, transaction reports,exception reports, etc.

With continued reference to FIG. 30, the stock module 370 is accessibleby authorized users to put-away new or existing inventory (i.e.,containers) into the pharmaceutical storage and retrieval device 14. Inthe put-away mode, the user scans the barcode on a container 94 with thebarcode scanner 366 at which time the user's RFID credential is alsoread by the scanner 322. The stock module 370 associates the user withthe container 94 and notes that the user put-away the container 94. Thestock module 370 is operable to provide instructions to thepharmaceutical storage and retrieval device 14 to retrieve a container94 resting in the second port 214, grab the container 94, and positionthe container 94 on a shelf 66 within the device 14. When the controller18 receives the appropriate signal from the detector in the second port214 (e.g., a light beam break detector) indicating the absence of a handin the second port 214, the controller 18 closes the front door 226,opens the rear door 230 and directs the gripper assembly 166 to retrievethe container 94. The stock module 370 also is operable to instruct thescanner 298 to read the barcode on the label 114 of the container 94while the container 94 is in the second port 214 to verify that the samecontainer 94 that was scanned at scanner 366 is the same container 94that was actually inserted in the second port 214. If there is adiscrepancy, the stock module 370 can alert the user. The stock module370 also can instruct the scale 278 to obtain a weight measurement ofthe container 94 that can be stored in the database for future reference(e.g., for inventory and reordering purposes, verification of dispensedamount(s), correction of a miscount, investigation of potential theft,etc.).

Using the weight measurement obtained from the scale 278, the stockmodule 370 can verify that a new container 94 has an accurate fullbottle weight. The stock module 370 verifies the measured weight fromscale 278 against a pharmaceutical database containing information foreach pharmaceutical that can include, for example, the weight of anunopened container 94 of the pharmaceutical, the weight of the packingmaterial (i.e., the foil, cotton, and preservative) associated with thepharmaceutical, and the individual pharmaceutical pill weight. Thepharmaceutical database can include information, for example, providedby pharmaceutical manufacturers, information gathered by the system 10manufacturer, information gathered by third parties, and informationcollected and recorded by one or more system(s) 10. The system 10collects data regarding the full container 94 weight, packing materialweight, and the weight of the medication as the system processescontainers 94 that are stored therein. Upon initial put-away of a newcontainer 94, the new container 94 is inserted into the second port 214with its seal intact (i.e., with the foil, cotton, and preservative) toobtain an initial weight measurement, which is stored in the databaseand used to confirm an accurate full container 94, or bottle weight.During the second put-away, the system 10 is able to determine a moreaccurate weight measurement of the medication (e.g., the weight of eachdiscrete pill) within the container 94 because the excess packagingmaterial (e.g., the foil, cotton, and preservative have been removed).With each future put-away function and each weight measurement of aparticular container 94, the system 10 is further improves the accuracywith which the weight of each pill within a container 94 is determinedbecause the packaging weight remains substantially constant. The weightinformation can be stored in the database for future use, including, forexample, providing a baseline weight measurement of each pill in futureshipments of a given medication and to identify possible counterfeitpharmaceuticals.

The stock module 370 is also operable to maintain an inventory list ofthe containers 94 being input to the device 14. The inventory list canassist pharmacy personnel in reporting discrepancies between orders andwhat was received. The stock module 370 also can generate inventoryand/or restocking requests that the server 306 can transmit to anappropriate system via the network 310. The stock module 370 is furtheroperable to maintain or retrieve information associated with eachcontainer 94 of medication, including, for example, the expiration dateand lot number of a medication. Based on the information associated witheach container 94, the stock module 370 can assist pharmacy personnelby, for example, identifying pharmaceutical inventory near or past itsexpiration date. The stock module 370 can further assist pharmacypersonnel in the efficient use of inventory by selecting medication fordispensing in order of its expiration date, thereby facilitatingrotation of pharmaceutical inventory. Further, the stock module 370 cangenerate a report of all pharmaceutical inventory that is nearexpiration, enabling pharmacy personnel to select the inventory nearexpiration for return to the pharmaceutical manufacture or supplier fora refund.

As shown in FIG. 30, the stock module 370 further includes an optimizermodule 374 operable to determine a location for the container 94 beingput-away and stored in the device 14. As shown in FIG. 31, the optimizermodule 374 includes a size module 378, a use module 382, and a spaceoptimizer module 386. The size module 378 is operable to instruct ascanner 298 within the second port 214 to obtain data regarding acontainer 94 therein, including an image of the container 94. The sizemodule 378 is further operable to determine information regarding acontainer 94, including, for example, a cap 102 diameter, a container 94shape, and a container 94 size (e.g., height and width) based on theacquired data or image. The size module 378 can also access a databasefor the size information of the container 94. The use module 382 isoperable to determine how frequently the pharmacy utilizes a particularpharmaceutical. The use module 382 can store and access the database 346for data on how frequently a particular pharmaceutical is utilized. Thespace optimizer module 386 is operable to receive data from the sizemodule 378 and the use module 382. Using data collected by the system10, including the data received by the space optimizer module 386 fromthe size module 378 and the use module 382, the space optimizer module386 determines a location within the device 14 to store a container 94.The space optimizer module 386 can determine the optimal location withinthe device 14 to store the container 94 based on frequency of use and/orsize of the container 94. Accordingly, the space optimizer module 386selects a particular location within the devices 14 to allow forefficient storage and retrieval of a particular container 94 whenneeded. The space optimizer module 386 can determine the location forstoring a container 94, each time the container is “put-away” or“checked-in” to the system 10. In such instances, the container 94 maybe returned to the location from which it was retrieved, or it may bestored in a new location, including within a different device 14 fromwhich the container was retrieved. The space optimizer module 386 canalso randomly determine the location for storing the container 94 withinthe devices 14, based on available locations. The particular locationfor each container 94 is stored in the database 346. In furtherembodiments, the optimizer module 374 may include fewer or more modulesfor conducting tasks related to the operation of the stock module 370.

As shown in FIG. 30, the software program 334 also includes a fillprescription module 390. The fill prescription module 390 is operable toretrieve a specific container 94 to fill a customer's prescription. Whenthe pharmacy receives a prescription to fill, pharmacy personnel entersthe information into the pharmacy management system 338, where thepharmacy printer 342 generates a label sheet that includes the labelsfor the customer vials, customer information, and a barcode. The labelsheet is taken to the scanner 366 where the barcode is read. At the sametime, the user's RFID credential can be read to confirm authorization tothe system 10 and the pharmaceuticals stored within. Based on thebarcode, the fill prescription module 390 instructs the gantry assembly54 to retrieve the container 94 needed to fill the customer'sprescription and identified on the label sheet. More specifically, thefill prescription module 390 communicates with the stock module 370and/or the database 346 to obtain the particular location where theneeded container of medication is stored within the device 14. The fillprescription module 390 further communicates the particular location ofthe container 94 to the gantry assembly 54 so the carriage assembly 158knows where to go to retrieve the appropriate container 94. In theinstance where a particular container 94 is stored outside the device14, the external storage location associated with the desired container94 can be communicated to the operator.

After identifying the particular location of the needed container 94,the gantry assembly 54 retrieves the container 94 and inserts it intothe first port 206 and closes the rear door 203. After the user's RFIDcredentials are verified, the front door 226 opens to allow the user toremove the container 94 from the first port 206. In some constructions,the fill prescription module 390 can instruct the scanner 298 to firstread the label 114 on the container 94. The fill prescription module 390can compare the read data from the label 114 with the requiredprescription identified on the label sheet. If there is a match, thedevice 14 activates the front door 226 to open so the user can retrievethe container 94 and count the appropriate number of pills to fill theprescription. If there is no match, the fill prescription module 390 caninstruct the device 14 to return the container 94 to its shelf location.

While waiting for the user to remove the container 94, the gantry 54 canbe in the process of retrieving another container 94 for the same or adifferent customer based on the read barcode of a new label sheet.Generally, the gantry assembly 54 retrieves containers 94 in the orderin which the label sheets are read at the scanner 366 thereby generatinga queue. The queue can be modified by accessing the fill prescriptionmodule 390 to adjust the order of the queue. For example, if a customeris waiting to pick-up a prescription, the label sheet for thiscustomer's prescription can be scanned and moved to the top of the queueto be filled immediately. Further, the fill prescription module 390 alsois operable to review the data in the queue to group variousprescription entries together to prevent the customer from having tomake several trips to the pharmacy. The queue can also be modified usingthe remote sequence scanner 400. Using the remote sequence scanner 400,a user can take multiple label sheets and prioritize the order ofprescriptions to be filled by scanning the label sheets in the order theuser wishes to fill the prescriptions. The scanned sequence of orders iscommunicated to the controller 18, which can direct the device 14 tobegin retrieving and staging containers 94 needed for the scannedorders. The user can also access the queue using the remote sequencescanner 400 to edit the queue, including, for example, to delete orders,to enter new orders, or to reprioritize the queue.

The pharmacy management system 338 can also communicate the orderinformation directly to the controller 18 of system 10, which can directthe device 14 to begin retrieving and staging containers 94 needed forthe entered orders. Similar to the process described above, the user cantake a label sheet generated by the pharmacy printer 342 to the scanner366 where the label sheet barcode and the user's RFID are read. If thesystem 10 recognizes a valid RFID credential and a barcode on thepresented label sheet associated with a staged order, the first port(s)206 containing the pharmaceutical(s) need to fill the order are opened.Accordingly, the system 10 can be configured to retrieve, but not allowaccess to the needed pharmaceuticals before the label sheet and RFID arescanned.

If the pharmacy utilizes more than one pharmaceutical storage andretrieval device 14, the containers 94 can be staged amongst the devices14 based on the order in which the label sheets are read. While onedevice 14 is waiting for the user to remove a container 94, the otherdevices 14 can retrieve containers 94, thereby eliminating the timepharmacy personnel has to wait for a given device 14 and its associatedgantry assembly 54 to retrieve a container 94. Generally, the gantryassemblies 54 of the devices 14 retrieve the containers according to theorder in which customer orders are communicated to the system 10,including, reading label sheets at the scanner 366 to generate a queue,directly communicating orders to the system 10 as they are entered inthe pharmacy management system 338, and establishing a queue by scanninglabel sheets with the remote sequential scanner 400. However, asdiscussed above, the queue can be modified by accessing the fillprescription module 390 at the controller 18, or through by the remotesequence scanner 400.

Upon completion of the filling process, the container 94 can beimmediately returned to the device 14 or the container 94 can remainwith the user until the user has time to put-away the container 94. Toreturn a container 94 to the device 14, the user presents his or herRFID credential to the scanner 322, so that the user's access to thesystem 10 may be verified and the user may be associated with the“put-away” or “check-in” of the container. If the container 94 beingreturned includes a system 10 generated barcode, the user scans thesystem 10 generated bar code using scanner 366 allowing the system toidentify the specific container that is being returned. The user thenpositions the container 94 in the second port 214, at which time thesystem 10 verifies information about the container 94, including, forexample, the NDC and the container weight. The system 10 can then“put-away” or “check-in” the container 94. If the container 94 is notreturned to the device 14 and another user needs the same container 94to fill a prescription, the new user can use the container 94, but whenthe container 94 is put-away by one of the users, the user's RFIDcredential read at the time of put-away will be associated with theoriginal retrieval of the container 94 and filling of the prescriptionsthat needed that container 94 until the put-away process is completed asdescribed above.

With continued reference to FIG. 30, the software program 334 includesan inventory check module 394. The inventory check module 394 isoperable to maintain a current list of pharmaceuticals within the device14. The inventory check module 394 also is operable to communicate withthe database 346 to request inventory information stored therein. Theinventory check module 394, when instructed, can provide a list of allpharmaceuticals within the device 14 and transmit the data to theprinter 318 for a readable printout. The pharmacist can use the list toverify what is currently in the device 14. The list is accurate becausepharmacy personnel expect the container 94 to be the same when it comesout of the device and when it goes into the device 14; and the device 14maintains a record of all prescriptions filled and thus, the remainingnumber of pills remaining in each container 94. The inventory checkmodule 394 also allows the pharmacist to remove each container 94 tocheck contents and return it to the device 14. Upon return to the device14, the device 14 verifies the count within the container 94 beforestoring the container 94.

With further reference to FIG. 30, the software program 334 includes areturn to stock module 398. The return to stock module 398 is operableto transmit instructions to the device 14 to accept a customer vial ofmedication, which was not picked up from the pharmacy. The return tostock module 398 is operable to generate a label for a custom containerselected to hold the customer vial(s) as described above. The return tostock module 398 can communicate with the fill prescription module 390to determine what pharmaceutical is in the vial in order to generate thelabel. Accordingly, the label generated by the stock module 398associates the vial and the pharmaceutical contained therein with thecustom container. The return to stock module 398 also can communicatewith the optimizer module 374 to determine an appropriate locationwithin the device for the custom container and the stock module 370 toinstruct the gantry assembly 54 to put-away the custom container. Incertain instances, the customer vial can be of a size and constructionsuch that a custom container is not required to hold the vial. In suchinstances, the customer vial can be handled by the system 10 as if itwere a standard container 94.

FIG. 1 illustrates a process of filling a prescription according toconventional dispensing methods. Once a customer drops off aprescription at the pharmacy, a printer generates a label sheet. Theprinting process repeats for another prescription for another customerregardless of whether the prescription has been filled. The pharmacistor other personnel may attempt to sort the printed label sheetsaccording to pick-up times. However, printed label sheets are generallyvery difficult to sort, particularly if there are a large number ofthem. The pharmacist or other personnel takes one of the label sheetsand fills the prescription noted thereon. There is no particularfill-order other than the order the label sheets are stacked and nobeneficial way to prioritize fill-orders in the event of a rush on thepharmacy during peak times.

With embodiments of the present invention, a user can take a label sheetfrom the stack, scan the label sheet (and RFID credential), and thegantry assembly 54 will retrieve the needed container 94 according tothe label sheet. The user can then fill the prescription, put-away thecontainer 94 and move on to fill the next prescription on the next labelsheet.

In the event of a rush on the pharmacy, a user can take multiple labelsheets from the stack, scan the label sheets (and RFID credential), andthe gantry assemblies 54 of multiple devices 14 can retrieve the neededcontainers according to the label sheets such that the containers 94 areready for user retrieval. The user can then quickly fill severalprescriptions without waiting for the device to retrieve a container 94.Alternatively, during peak periods, multiple users can take the labelsheets, scan the label sheets (and their RFID credential), obtain thecontainer 94 from the first port 206, and return to their station tofill the prescription noted on the label sheet. If a customer'sprescription needs to be filled immediately, one of the users can scanthat customer's label sheet (and RFID credential), access the queue, andmove the label sheet to the top of the queue. The gantry assembly 54will then retrieve the container 94 for that customer for the user.

Further embodiments of the pharmaceutical storage and retrieval system10 include a remote sequence scanner 400. Using the remote sequencescanner 400, a user can take multiple label sheets and prioritize theorder of prescriptions to be filled by scanning the label sheets in theorder the user wishes to fill the prescriptions. The scanned sequence oforders is communicated to the controller 18, which can direct the device14 to begin retrieving and staging containers 94 needed for the scannedorders. The retrieved containers 94 can be delivered to the first port206 of each device 14. The front door 226 of each port 206, however,remains closed until the proper label sheet and RFID credential arescanned. If a label sheet is scanned at the device 14 that is not one ofthe label sheets scanned by the remote sequence scanner 400 or is out oforder from the sequence scanned by the remote sequence scanner 400 thedevice 14 will return the staged container 94, if necessary, andretrieve the container 94 needed to fill the requested order.

In further embodiments, orders entered into the pharmacy managementsystem 338 are directly routed to the system 10. In such embodiments,the pharmacy management system 338 does not print a label sheet.Instead, the user selects the entered order from a queue displayed bythe controller 18 on the monitor 314. When an order is selected, thedevice 14 can retrieve the needed pharmaceuticals and provide them tothe user. The system 10 can include a printer that prints a label sheetwhen the order is selected, or when the needed pharmaceuticals areavailable to the user from a device 14. The system 10 can also includemultiple printers (e.g., a printer associated with each device 14 of thesystem) located proximate to the first port 206 of each device 14.

In yet further embodiments, as orders are entered, the pharmacymanagement system 338 will route the order information to the system 10and direct a printer, such as the pharmacy printer 342, to print anorder information sheet that does not include labels for the customervials. In such embodiments, the user can scan the order informationsheet (and RFID credential), and the gantry assembly 54 will retrievethe needed container 94 according to the order information sheet. Thesystem 10 can include a printer that prints the customer vial labelswhen the needed pharmaceuticals are available to the user from a device14. The system 10 can also include multiple printers (e.g., a printerassociated with each device 14 of the system) located proximate to thefirst port 206 of each device 14. Further, the system 10 or the pharmacymanagement system 338 can require that the user scan the order sheet andthe retrieved pharmaceutical before a printer will print the customervial labels.

Further embodiments of the pharmaceutical storage and retrieval system10 allow for inventory management and monitoring across multiple retailoutlets, allowing, for example, a chain of affiliated pharmacies tomonitor and manage pharmaceutical inventory for each retail locationfrom a central location or by a central ordering authority. In stillfurther embodiments, system 10 allows for the automated ordering of newstock to replenish depleted pharmaceutical inventory. Furtherembodiments of system 10 may communicate with a central inventorytracking authority, or with other systems 10, to allow for the transferof pharmaceutical inventory between retail locations before newinventory is ordered. In still further embodiments, system 10 may beconfigured for use in non-retail pharmacies, including, for example, inhospitals, in research facilities, in central fulfillment facilities,and in mail order fulfillment facilities.

Further embodiments of the pharmaceutical storage and retrieval system10 allow for different user access rights, including, for example,different levels of access to different classes of medication, ordifferent levels of access to functional aspects of the system 10.Further embodiments of the system 10 may communicate with a centralauthority or directly with law enforcement departments in the event thatunauthorized or improper access to the system 10 is detected. Suchunauthorized or improper access may include, for example, unauthorizedphysical access to a pharmaceutical storage and retrieval device 14,unauthorized electronic access to a controller 18. The system 10 mayalso communicate with a central authority or directly with lawenforcement departments in the event that the system 10 detects apparenttheft based on detected discrepancies in the dispensing of a medication(e.g., the system 10 detects a difference between the prescribedquantity and the amount actually removed from a container 94) or anunusual pattern of medication dispensing.

The embodiments described above and illustrated in the figures arepresented by way of example only and are not intended as a limitationupon the concepts and principles of the present invention. Variousfeatures and advantages of the invention are set forth in the followingclaims.

1. A pharmaceutical storage and retrieval system comprising: a housingconfigured to store a plurality of containers, the housing including ashelving assembly supported by the housing, the shelving assemblyincluding a plurality of shelves, each shelf extending along a length ofthe housing, the plurality of shelves positioned from a bottom wall ofthe housing to a top wall of the housing with a predetermined spacebetween adjacent shelves, each shelf having a top surface and a bottomsurface, and wherein one of the top surface and the bottom surface ofeach shelf is at least partially covered with a foam liner, the foamliner configured to conform to a container as the container is insertedbetween two adjacent shelves to hold the container in position.
 2. Thepharmaceutical storage and retrieval system of claim 1, furthercomprising a container-moving assembly having a gripper assemblyconfigured to position the container within the shelving assembly,wherein the gripper assembly is operable to maintain a gap betweenadjacent containers when positioning containers within the shelvingassembly to prevent one container from disturbing an adjacent container.3. The pharmaceutical storage and retrieval system of claim 2, whereinthe gripper assembly inserts the container within the shelving assemblyalong an axis that is substantially parallel to a width of the housing.4. The pharmaceutical storage and retrieval system of claim 1, whereinthe each shelf has a width that is generally perpendicular to the lengthof the housing, and wherein the foam liner on each shelf coversapproximately half of the width of each shelf.
 5. The pharmaceuticalstorage and retrieval system of claim 1, wherein the foam liner on eachshelf includes an outer fabric layer.
 6. The pharmaceutical storage andretrieval system of claim 5, wherein the outer fabric layer is a spandexmaterial.
 7. The pharmaceutical storage and retrieval system of claim 1,wherein the foam liner on each shelf includes memory foam.
 8. Thepharmaceutical storage and retrieval system of claim 1, wherein both thetop surface and the bottom surface of each shelf are at least partiallycovered with a foam liner.
 9. The pharmaceutical storage and retrievalsystem of claim 1, wherein the foam liner on each shelf is approximatelytwo inches thick.
 10. A pharmaceutical storage and retrieval systemcomprising: a housing configured to store a plurality of containers, thehousing including a shelving assembly supported by the housing, theshelving assembly including a plurality of shelves, each shelf extendingalong a length of the housing and having a top surface and a bottomsurface, and a foam liner attached to one of the top surface and thebottom surface of each shelf, the foam liner configured to conform to acontainer as the container is inserted between two adjacent shelves tohold the container in position; a container-moving assembly positionedwithin the housing, the container-moving assembly operable to move thecontainer within the housing relative to the shelving assembly; a useraccess assembly supported by the housing, the user access assemblyincluding a port in the housing; and a controller operatively connectedto the container-moving assembly and the user access assembly, thecontroller operable to transmit an instruction to the container-movingassembly to retrieve the container from the port and position thecontainer in the shelving assembly.
 11. The pharmaceutical storage andretrieval system of claim 10, wherein the container-moving assembly isoperable to maintain a gap between adjacent containers when positioningthe plurality of containers in the shelving assembly to prevent onecontainer from disturbing an adjacent container.
 12. The pharmaceuticalstorage and retrieval system of claim 11, wherein the container-movingassembly inserts each container into the shelving assembly along an axisthat is substantially parallel to a width of the housing.
 13. Thepharmaceutical storage and retrieval system of claim 10, wherein eachshelf has a width that is generally perpendicular to the length of thehousing, and wherein the foam liner on each shelf covers approximatelyhalf of the width of each shelf.
 14. The pharmaceutical storage andretrieval system of claim 10, wherein the foam liner on each shelfincludes an outer fabric layer.
 15. The pharmaceutical storage andretrieval system of claim 14, wherein the outer fabric layer is aspandex material.
 16. The pharmaceutical storage and retrieval system ofclaim 10, wherein the foam liner on each shelf includes memory foam. 17.The pharmaceutical storage and retrieval system of claim 10, wherein thefoam liner is a first foam liner that is attached to the top surface ofeach shelf, and wherein the housing further includes a second foam linerattached to the bottom surface of each shelf.
 18. The pharmaceuticalstorage and retrieval system of claim 10, wherein the foam liner on eachshelf is approximately two inches thick.
 19. The pharmaceutical storageand retrieval system of claim 10, wherein the housing further includes afirst side wall and a second side wall spaced apart from and facing thefirst side wall, wherein the shelving assembly includes a first set ofshelves positioned adjacent the first side wall and a second set ofshelves positioned adjacent the second side wall, and wherein thecontainer-moving assembly is positioned between the first and secondsets of shelves.
 20. The pharmaceutical storage and retrieval system ofclaim 19, wherein the first set of shelves and the second set of shelvesare arranged along a height of the housing from a bottom wall of thehousing to a top wall of the housing.